<!-- 用户管理 -->
<template>
  <el-container>  
   
   <div class="app-container" style="width:1650px">
     
     <el-row :gutter="20">
      
       <!--部门数据-->
       <!-- <el-col :span="4" :xs="24">
         <div class="head-container">
           <el-input
             v-model="deptName"
             placeholder="请输入部门名称"
             clearable
             size="small"
             prefix-icon="el-icon-search"
             style="margin-bottom: 20px"
           />
         </div>
         <div class="head-container">
           <el-tree
             :data="deptOptions"
             :props="defaultProps"
             :expand-on-click-node="false"
             :filter-node-method="filterNode"
             ref="tree"
             default-expand-all
             highlight-current
             @node-click="handleNodeClick"
           />
         </div>
       </el-col> -->
       <!--用户数据-->
      
       <el-col :span="20" :xs="24">
         <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px" >
           <el-form-item label="用户名称" prop="realName" >
             <el-input
               v-model="queryParams.realName"
               placeholder="请输入用户名称"
               clearable
               style="width: 240px"
               @keyup.enter.native="handleQuery"
             />
           </el-form-item>
           <el-form-item label="手机号码" prop="userPhone">
             <el-input
               v-model="queryParams.userPhone"
               placeholder="请输入手机号码"
               clearable
               style="width: 240px"
               @keyup.enter.native="handleQuery"
             />
           </el-form-item>
           <el-form-item label="状态" prop="status">
             <el-select
               v-model="queryParams.status"
               placeholder="用户状态"
               clearable
               style="width: 240px"
             >
               <el-option
                 v-for="dict in dict.type.sys_normal_disable"
                 :key="dict.value"
                 :label="dict.label"
                 :value="dict.value"
               />
             </el-select>
           </el-form-item>
           <el-form-item label="创建时间">
             <el-date-picker
               v-model="dateRange"
               style="width: 240px"
               value-format="yyyy-MM-dd"
               type="daterange"
               range-separator="-"
               start-placeholder="开始日期"
               end-placeholder="结束日期"
             ></el-date-picker>
           </el-form-item>
           <el-form-item style="nav-right: var(20px);">
             <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
             <el-button type="danger" icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
           </el-form-item>
         </el-form>
      

       <el-from>
         <el-row :gutter="10" class="mb8">
        
           <el-col :span="1.5">
             <el-button
               type="primary"
               plain
               icon="el-icon-upload2"
               size="mini"
               @click="handleImport"
              
               
             >导入</el-button>
           </el-col>
           <el-col :span="1.5">
             <el-button
               type="success"
               plain
               icon="el-icon-download"
               size="mini"
               @click="handleExport"
               
               
             >导出</el-button>
           </el-col>
           <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
         </el-row>
       </el-from>




<!-- //分段查询完善 -->
<!-- <el-form  label-width="100px" class="demo-ruleForm">
 <el-form-item label="贷款次数：" >
 
     <el-button slot-scope="scope"  @click="handleloan(queryParams)"  span="12" v-if="queryParams.loanCount == 1"   style="border-style: hidden;">首次</el-button>
     <el-button  slot-scope="scope" @click="handleloan(queryParams)" span="12" v-if="queryParams.loanCount == 2" style="border-style: hidden;">多次</el-button>
  
   
 </el-form-item>
 <el-form-item label="逾期次数：" prop="type">
   <el-checkbox-group v-model="ruleForm.type">
     <el-button  @click="handleImport" span="12" style="border-style: hidden;">11次</el-button>
     <el-button  @click="handleImport" span="12" style="border-style: hidden;">多次</el-button>
  
   </el-checkbox-group>
 </el-form-item>

</el-form> -->


<el-form  :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
 <el-form-item label="贷款次数：" prop="loanCount">
 
     <el-button  @click="handleloan()" span="12"  a style="border-style: hidden;">首次</el-button>
     <el-button  @click="handleloans()" span="12"  b style="border-style: hidden;">多次</el-button>
  
  
 </el-form-item>
 <el-form-item label="逾期次数：" prop="type">
   <el-checkbox-group v-model="ruleForm.type">
     <el-button  @click="handleOut()" span="12" style="border-style: hidden;">1次</el-button>
     <el-button  @click="handleOuts()" span="12" style="border-style: hidden;">多次</el-button>
  
   </el-checkbox-group>
 </el-form-item>

</el-form>

         <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange" >
           <el-table-column type="selection" width="20" align="center"  />
           <el-table-column label="用户编号" align="center" key="id" prop="id" v-if="columns[0].visible" />
           <el-table-column label="用户id" align="center" key="userId" prop="userId" v-if="columns[12].visible" />
           
           <el-table-column label="手机号" align="center" key="userPhone" prop="userPhone" v-if="columns[13].visible" />

           <el-table-column label="真实姓名" align="center" key="realName" prop="realName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
           
           <el-table-column label="身份证" align="center" key="identityCard" prop="identityCard" v-if="columns[2].visible" :show-overflow-tooltip="true" />
           <el-table-column label="银行卡号" align="center" key="bankCard" prop="bankCard" v-if="columns[3].visible" :show-overflow-tooltip="true" />
           <el-table-column label="地址" align="center" key="address" prop="address" v-if="columns[4].visible" :show-overflow-tooltip="true" />
           <el-table-column label="文化水平" align="center" key="educationLevel" prop="educationLevel" v-if="columns[5].visible" :show-overflow-tooltip="true" />
           <el-table-column label="职业" align="center" key="occupation" prop="occupation" v-if="columns[6].visible" :show-overflow-tooltip="true" />
           <el-table-column label="月收入" align="center" key="monthIncome" prop="monthIncome" v-if="columns[7].visible" :show-overflow-tooltip="true" />
           <el-table-column label="房屋产权证" align="center" key="houseCertificate" prop="houseCertificate" v-if="columns[8].visible" :show-overflow-tooltip="true" />
           <el-table-column label="信誉程度" align="center" key="creditStanding" prop="creditStanding" v-if="columns[9].visible" :show-overflow-tooltip="true" />
           <el-table-column label="贷款简介" align="center" key="loanDescription" prop="loanDescription" v-if="columns[10].visible" :show-overflow-tooltip="true" />
           <el-table-column label="紧急联系人" align="center" key="emergencyPhone" prop="emergencyPhone" v-if="columns[11].visible" :show-overflow-tooltip="true" />

           <el-table-column label="状态" align="center" key="status" v-if="columns[14].visible">
             <template slot-scope="scope">
               <el-switch
                 v-model="scope.row.status"
                 active-value="0"
                 inactive-value="1"
                 @change="handleStatusChange(scope.row)"
               ></el-switch> 
             </template>
           </el-table-column> 
          <el-table-column label="创建时间" align="center" prop="createTime" v-if="columns[15].visible" width="160">
             <template slot-scope="scope">
               <span>{{ parseTime(scope.row.createTime) }}</span>
             </template>
           </el-table-column> 
           <el-table-column label="修改时间" align="center" prop="updateTime" v-if="columns[16].visible" width="160">
             <template slot-scope="scope">
               <span>{{ parseTime(scope.row.updateTime) }}</span>
             </template>
           </el-table-column> 
           <el-table-column
             label="操作"
             align="center"
             width="180" fixed="right"
             class-name="small-padding fixed-width"
           >
             <template slot-scope="scope" v-if="scope.row.userId !== 1" >
               <el-button
                 size="mini"
                 type="text"
                 icon="el-icon-edit"
                 @click="handleUpdate(scope.row)"
                 
               >修改</el-button>
        
               <!-- <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" 
                 >
                 <span class="el-dropdown-link">
                   <i class="el-icon-d-arrow-right el-icon--right"></i>更多
                 </span>
                 <el-dropdown-menu slot="dropdown">
                   <el-dropdown-item command="handleResetPwd" icon="el-icon-key"
                     
                   >重置密码</el-dropdown-item>
                   <el-dropdown-item command="handleAuthRole" icon="el-icon-circle-check"
                     
                   >分配角色</el-dropdown-item>
                 </el-dropdown-menu>
               </el-dropdown> -->
            
             </template>
           </el-table-column>
         </el-table>
 
         <pagination
           v-show="total>0"
           :total="total"
           :page-sizes="[5, 10, 15, 20]"
           :page.sync="queryParams.pageNum"
           :limit.sync="queryParams.pageSize"
           @pagination="getList"
         />
       </el-col>
     </el-row>
 
     <!-- 添加或修改用户配置对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
       <el-form ref="form" :model="form" :rules="rules" label-width="80px">
         <el-row>
           <el-col :span="12">
             <el-form-item label="用户昵称" prop="realName">
               <el-input v-model="form.realName" placeholder="请输入用户昵称" maxlength="30" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="手机号" prop="userPhone">
               <el-input v-model="form.userPhone" placeholder="请输入用户手机号" maxlength="30" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="身份证" prop="identityCard">
               <el-input v-model="form.identityCard" placeholder="请输入身份证" maxlength="30" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="银行卡号" prop="bankCard">
               <el-input v-model="form.bankCard" placeholder="请输入银行卡号" maxlength="30" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="家庭住址" prop="address">
               <el-input v-model="form.address" placeholder="请输入家庭住址" maxlength="30" />
             </el-form-item>
           </el-col>
 
           <el-col :span="12">
             <el-form-item label="文化水平" prop="educationLevel">
               <el-select v-model="form.educationLevel"  placeholder="请选择文化水平" >
               <el-option
               v-for="dict in dicts1 "
               :key="dict.dictValue"
               :label="dict.dictLabel"
               :value="dict.dictLabel"
               /></el-select>
             </el-form-item>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="12">
             <el-form-item label="职业" prop="occupation">
             
               <el-select v-model="form.occupation"  placeholder="请选择职业" >
               <el-option
               v-for="dict in dicts2 "
               :key="dict.dictValue"
               :label="dict.dictLabel"
               :value="dict.dictLabel"
               /></el-select>
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="月收入" prop="monthIncome">
               <el-input v-model="form.monthIncome" placeholder="请输入月收入" maxlength="50" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="房产证" prop="houseCertificate">
               <el-input v-model="form.houseCertificate" placeholder="请输入房产证号" maxlength="50" />
             </el-form-item>
           </el-col>
           <el-col :span="12">
             <el-form-item label="信誉程度" prop="creditStanding">
               <el-select v-model="form.creditStanding"  placeholder="请选择信誉程度" >
               <el-option
               v-for="dict in dicts "
               :key="dict.dictValue"
               :label="dict.dictLabel"
               :value="dict.dictLabel"
               /></el-select>
             </el-form-item>
           </el-col>
            <!-- <el-col :span="12">
             <el-form-item label="贷款用途" prop="loanDescription">
               <el-input v-model="form.loanDescription" placeholder="请输入贷款用途" maxlength="50" />
             </el-form-item>
           </el-col> -->
           <el-col :span="16">
             <el-form-item label="紧急联系" prop="emergencyPhone" width="18">
               <el-input v-model="form.emergencyPhone" placeholder="请输入紧急联系人电话" maxlength="50" />
             </el-form-item>
           </el-col>
         </el-row> 
         <el-row>
          
         </el-row>
         <el-row>
           <el-col :span="24">
             <el-form-item label="贷款用途">
               <el-input v-model="form.loanDescription" type="textarea" placeholder="请输入贷款用途"></el-input>
             </el-form-item>
           </el-col>
         </el-row>
       </el-form>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitForm">确 定</el-button>
         <el-button @click="cancel">取 消</el-button>
       </div>
     </el-dialog>
 
     <!-- 用户导入对话框 -->
     <el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
       <el-upload
         ref="upload"
         :limit="1"
         accept=".xlsx, .xls"
         :headers="upload.headers"
         :action="upload.url + '?updateSupport=' + upload.updateSupport"
         :disabled="upload.isUploading"
         :on-progress="handleFileUploadProgress"
         :on-success="handleFileSuccess"
         :auto-upload="false"
         drag
       >
         <i class="el-icon-upload"></i>
         <div class="el-upload__text">将文件拖到此处，或<em>点击上传</em></div>
         <div class="el-upload__tip text-center" slot="tip">
           <div class="el-upload__tip" slot="tip">
             <el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的用户数据
           </div>
           <span>仅允许导入xls、xlsx格式文件。</span>
           <el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" @click="importTemplate">下载模板</el-link>
         </div>
       </el-upload>
       <div slot="footer" class="dialog-footer">
         <el-button type="primary" @click="submitFileForm">确 定</el-button>
         <el-button @click="upload.open = false">取 消</el-button>
       </div>
     </el-dialog>
   </div>
 </el-container>
 </template>

 
 <script>
 import { listUser, getUser, delUser, updateUser, resetUserPwd, changeUserStatus, getUserLoan,getUserLoans,getUserOut,getUserOuts } from "@/api/credit/creUser";
 import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 
 export default {
   name: "User",
   dicts: ['sys_normal_disable', 'sys_user_sex'],
   components: { Treeselect },
   data() {
     return {
       ruleForm: {
         name: '',
         region: '',
         date1: '',
         date2: '',
         delivery: false,
         type: [],
         resource: '',
         loanCount: '',
         a: '',
         b: ''
       },
       educationLevel:"",
       creditStanding: "",
       loanCount:'',
       dicts: "",
       dicts1: "",
       

       // 遮罩层
       loading: true ,
        // 遮罩层
       ids: [],
       // 非单个禁用
       single: true,
       // 非多个禁用
       multiple: true,
       // 显示搜索条件n
       showSearch: true,
       // 总条数
       total: null,
       // 用户表格数据
       userList: null,
       // 弹出层标题
       title: "",
       // 部门树选项
       deptOptions: undefined,
       // 是否显示弹出层
       open: false,
       // 部门名称
       deptName: undefined,
       // 默认密码
       initPassword: undefined,


       // 日期范围
       dateRange: [],
       // 角色选项
       roleOptions: [],
       // 表单参数
       form: {},
       defaultProps: {
         children: "children",
         label: "label"
       },
       // 用户导入参数
       upload: {
         // 是否显示弹出层（用户导入）
         open: false,
         // 弹出层标题（用户导入）
         title: "",
         // 是否禁用上传
         isUploading: false,
         // 是否更新已经存在的用户数据
         updateSupport: 0,
         // 设置上传的请求头部
         headers: { Authorization: "Bearer " + getToken() },
         // 上传的地址
         url: process.env.VUE_APP_BASE_API + "/system/user/importData"
       },
       // 查询参数
       queryParams: {
         pageNum: 1,
         pageSize: 5,
         realName: undefined,
         phonenumber: undefined,
         userId:undefined,
         loanCount:undefined,
         
         status: undefined,
         deptId: undefined
       },

       rules: {
         userName: [
           { required: true, message: "用户名称不能为空", trigger: "blur" },
           { min: 2, max: 20, message: '用户名称长度必须介于 2 和 20 之间', trigger: 'blur' }
         ],
               tradeType: [
                   { required: true, message: '请选择行业类型', trigger: 'blur' },
               ],
               userPhone: [
                   { required: true, message: '请输入手机号码', trigger: 'blur' },
                   {
                       pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
                       message: "请输入正确的手机号码",
                       trigger: "blur"
                   }
               ],
               manageDomain: [
                   { required: true, message: '请输入管理后台域名', trigger: 'blur' },
                   {
                       pattern: /^(?=^.{3,255}$)[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+$/,
                       message: "请输入正确的域名",
                       trigger: "blur"
                   }
               ],
               address: [
                   { required: true, message: '请输入地址', trigger: 'blur' },
               ],
               companyPhone: [
                   { required: true, message: '请输入电话', trigger: 'blur' },
                   {
                       pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
                       message: "请输入正确的手机号码",
                       trigger: "blur"
                   }
               ],
               // logo: [
               //     { required: true, message: '请选择LOGO', trigger: 'blur' },
               // ],
               dutyParagraph: [
                   { required: true, message: '请输入税号', trigger: 'blur' },
               ],
               invoiceHeader: [
                   { required: true, message: '请输入发票抬头', trigger: 'blur' },
               ],
               bankDeposit: [
                   { required: true, message: '请输入开户银行', trigger: 'blur' },
               ],
               bankCard: [
                   { required: true, message: '请输入银行卡号', trigger: 'blur' },
                   {
                       pattern: /^([1-9]{1})(\d{14}|\d{15}|\d{16}|\d{17})$/,
                       message: "银行卡号不符合规范，应为15~18位纯数字",
                       trigger: "blur"
                   }
               ],
               identityCard: [
                   { required: true, message: '请输入身份证号', trigger: 'blur' },
                   {
                       pattern: /^([1-9]{1})(\d{17}|\d{18})$/,
                       message: "身份证号不符合规范，应为18位纯数字",
                       trigger: "blur"
                   }
               ],
               enCode: [
                   { required: true, message: '请输入客户编号', trigger: 'blur' },
               ],
               ourTransactionPerson: [
                   { required: true, message: '请选择业务联系人', trigger: 'blur' },
               ],
               level: [
                   { required: true, message: '请选择客户级别', trigger: 'blur' },
               ],
               selectedOptions: [
                   { required: true, message: '请选择地区', trigger: 'blur' }
               ],
               signingTime: [
                   {  required: true, message: '请选择合作签约时间', trigger: 'change' }
               ],
           },
       // 列信息
       columns: [
         { key: 0, label: `用户编号`, visible: true },
         { key: 1, label: `用户名称`, visible: true },
      
         { key: 2, label: `身份证`, visible: true },
         { key: 3, label: `银行卡号`, visible: true },
         { key: 4, label: `地址`, visible: true },
         { key: 5, label: `文化水平`, visible: true },
         { key: 6, label: `职业`, visible: true },
         { key: 7, label: `月收入`, visible: true },
         { key: 8, label: `房屋产权证`, visible: true },
         { key: 9, label: `信誉程度`, visible: true },
         { key: 10, label: `贷款简介`, visible: true },
         { key: 11, label: `紧急联系人`, visible: true },
         { key: 12, label: `用户id`, visible: true },
         { key: 13, label: `手机号`, visible: true },
         { key: 14, label: `状态`, visible: true },
         { key: 15, label: `创建时间`, visible: true },
         { key: 16, label: `修改时间`, visible: true },

       ],
       // 表单校验
       // rules: {
       //   userName: [
       //     { required: true, message: "用户名称不能为空", trigger: "blur" },
       //     { min: 2, max: 20, message: '用户名称长度必须介于 2 和 20 之间', trigger: 'blur' }
       //   ],
       //   nickName: [
       //     { required: true, message: "用户昵称不能为空", trigger: "blur" }
       //   ],
       //   password: [
       //     { required: true, message: "用户密码不能为空", trigger: "blur" },
       //     { min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' }
       //   ],
       //   email: [
       //     {
       //       type: "email",
       //       message: "请输入正确的邮箱地址",
       //       trigger: ["blur", "change"]
       //     }
       //   ],
       //   phonenumber: [
       //     {
       //       pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
       //       message: "请输入正确的手机号码",
       //       trigger: "blur"
       //     }
       //   ]
       // }
     };
   },
   // watch: {
   //   // 根据名称筛选部门树
   //   deptName(val) {
   //     this.$refs.tree.filter(val);
   //   }
   // },
   created() {
this.getDicts('cre_credit_standing').then(res=>{
 this.dicts=res.data
}),
this.getDicts('cre_education_level').then(res=>{
 this.dicts1=res.data
}),

this.getDicts('cre_occupation').then(res=>{
 this.dicts2=res.data
}),

     this.getList();
     this.getConfigKey("sys.user.initPassword").then(response => {
       this.initPassword = response.msg;
     });
   },
   watch: {
   user: function (newData, oldData) {
     console.log(oldData, newData);
     // this.userid = newData.userId;
     this.getList();
   }
 },
   methods: {
     /** 查询用户列表 */
     getList() {
       this.loading = true;
       listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
           this.userList = response.rows;
           this.total = response.total;
           this.loading = false;
         }
       );
     },
  
     // 筛选节点
     filterNode(value, data) {
       if (!value) return true;
       return data.label.indexOf(value) !== -1;
     },
     // 节点单击事件
     handleNodeClick(data) {
       this.queryParams.deptId = data.id;
       this.handleQuery();
     },
     // 用户状态修改
     handleStatusChange(row) {
       let text = row.status === "0" ? "启用" : "停用";
       this.$modal.confirm('确认要"' + text + '""' + row.realName + '"用户吗？').then(function() {
         return changeUserStatus(row.userId, row.status);
       }).then(() => {
         this.$modal.msgSuccess(text + "成功");
       }).catch(function() {
         row.status = row.status === "0" ? "1" : "0";
       });
     },
     // 取消按钮
     cancel() {
       this.open = false;
       this.reset();
     },
     // 表单重置
     reset() {
       this.form = {
         Id: undefined,
        userId: undefined,
        realName: undefined,
        userPhone: undefined,
         phonenumber: undefined,
         identityCard: undefined,
         bankCard: undefined,
         address: undefined,
         educationLevel: undefined,
         occupation: undefined,
         monthIncome: undefined,
         houseCertificate: undefined,
         creditStanding: undefined,
         loanDescription: undefined,
         emergencyPhone: undefined,
         creditStanding: undefined,
         status:"0",
         createTime: undefined,
         updateTime: undefined,
       };
       this.resetForm("form");
     },
     /** 搜索按钮操作 */
     handleQuery() {
       this.queryParams.pageNum = 1;
       this.getList();
     },
     /** 重置按钮操作 */
     resetQuery() {
       this.dateRange = [];
       this.resetForm("queryForm");
       this.handleQuery();
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
       this.ids = selection.map(item => item.userId);
       this.single = selection.length != 1;
       this.multiple = !selection.length;
     },
     // 更多操作触发
     handleCommand(command, row) {
       switch (command) {
         case "handleResetPwd":
           this.handleResetPwd(row);
           break;
         case "handleAuthRole":
           this.handleAuthRole(row);
           break;
         default:
           break;
       }
     },
     /** 新增按钮操作 */
     handleAdd() {
       this.reset();
       getUser().then(response => {
         this.postOptions = response.posts;
         this.roleOptions = response.roles;
         this.open = true;
         this.title = "添加用户";
         this.form.password = this.initPassword;
       });
       
     },
     /** 修改按钮操作 */
     handleUpdate(row) {
       this.reset();
       const userId = row.userId || this.ids;
       getUser(userId).then(response => {
         this.form = response.data;
         this.roleOptions = response.roles;
         
         this.form.roleIds = response.roleIds;
         this.open = true;
         this.title = "修改用户";
       });
     },

     // 贷款次数查询
     handleloan() {
       this.loading = true;
       getUserLoan().then(response => {
         this.userList = response.data;
           this.total = response.total;
           this.loading = false;
       });
     },
     //多次贷款查询
     handleloans() {
       this.loading = true;
       getUserLoans().then(response => {
         this.userList = response.data;
           this.total = response.total;
           this.loading = false;
       });
     },
     //初次逾期查询
     handleOut() {
       this.loading = true;
       getUserOut().then(response => {
         this.userList = response.data;
           this.total = response.total;
           this.loading = false;
       });
     },
     
 //初次逾期查询
 handleOuts() {
       this.loading = true;
       getUserOuts().then(response => {
         this.userList = response.data;
           this.total = response.total;
           this.loading = false;
       });
     },

     /** 重置密码按钮操作 */
     handleResetPwd(row) {
       this.$prompt('请输入"' + row.userName + '"的新密码', "提示", {
         confirmButtonText: "确定",
         cancelButtonText: "取消",
         closeOnClickModal: false,
         inputPattern: /^.{5,20}$/,
         inputErrorMessage: "用户密码长度必须介于 5 和 20 之间"
       }).then(({ value }) => {
           resetUserPwd(row.userId, value).then(response => {
             this.$modal.msgSuccess("修改成功，新密码是：" + value);
           });
         }).catch(() => {});
     },
     /** 分配角色操作 */
     handleAuthRole: function(row) {
       const userId = row.Id;
       this.$router.push("/system/user-auth/role/" + userId);
     },
     /** 提交按钮 */
     submitForm: function() {
       this.$refs["form"].validate(valid => {
         if (valid) {
           if (this.form.userId != undefined) {
             updateUser(this.form).then(response => {
               this.$modal.msgSuccess("修改成功");
               this.open = false;
               this.getList();
             });
           } 
         }
       });
     },
     /** 删除按钮操作 */
     handleDelete(row) {
       const userIds = row.Id || this.ids;
       this.$modal.confirm('是否确认删除用户编号为"' + userIds + '"的数据项？').then(function() {
         return delUser(userIds);
       }).then(() => {
         this.getList();
         this.$modal.msgSuccess("删除成功");
       }).catch(() => {});
     },


     /** 导出按钮操作 */
     handleExport() {
       this.download('credit/creUser/export', {
         ...this.queryParams
       }, `user_${new Date().getTime()}.xlsx`)
     },
     /** 导入按钮操作 */
     handleImport() {
       this.upload.title = "用户导入";
       this.upload.open = true;
     },
     /** 下载模板操作 */
     importTemplate() {
       this.download('system/user/importTemplate', {
       }, `user_template_${new Date().getTime()}.xlsx`)
     },
     // 文件上传中处理
     handleFileUploadProgress(event, file, fileList) {
       this.upload.isUploading = true;
     },
     // 文件上传成功处理
     handleFileSuccess(response, file, fileList) {
       this.upload.open = false;
       this.upload.isUploading = false;
       this.$refs.upload.clearFiles();
       this.$alert("<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" + response.msg + "</div>", "导入结果", { dangerouslyUseHTMLString: true });
       this.getList();
     },
     // 提交上传文件
     submitFileForm() {
       this.$refs.upload.submit();
     }
   }
 };
 </script>
